package com.xiaoshuidi.cloud.module.bpm.controller.app.reserveticket.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;

@Schema(description = "管理后台 - 预约工单创建 Request VO")
@Data
public class ReserveCreateReqVO {

    @NotNull(message = "时间段编号")
    @NotNull(message = "时间段编号不能为空" )
    private Integer timePeriod;

    @Schema(description = "客户类型", required = true)
    private String customerType;

    @Schema(description = "客户姓名", required = true)
    @NotNull(message = "客户姓名不能为空")
    private String customerName;

    @Schema(description = "性别 1:男 2:女", required = true)
    @NotNull(message = "性别 1:男 2:女 不能为空")
    private String customerGender;

    @Schema(description = "联系方式", required = true)
    @NotNull(message = "联系方式不能为空")
    private String mobile;

    @Schema(description = "客户来源", required = true)
    @NotNull(message = "客户来源不能为空")
    private String customerOrigin;

    @Schema(description = "紧急程度", required = true)
    private String urgencyLevel;

    @Schema(description = "门店id")
    @NotNull(message = "门店不能为空")
    private Long apartmentId;

    @Schema(description = "房源id")
    private Long roomId;

    @Schema(description = "房源全名")
    private String roomFullName;

    @Schema(description = "预约日期", required = true)
    @NotNull(message = "预约日期不能为空")
    private LocalDate reserveDate;

    @Schema(description = "预约时间段-开始", required = true)
    @NotNull(message = "请录入预约时间段")
    private String reserveTimeStart;

    @Schema(description = "预约时间段-结束", required = true)
    @NotNull(message = "请录入预约时间段")
    private String reserveTimeEnd;

    @Schema(description = "租期(月)")
    private Byte rentTerm;

    @Schema(description = "最低金额")
    private BigDecimal priceMin;

    @Schema(description = "最高金额")
    private BigDecimal priceMax;

    @Schema(description = "地段需求")
    private String location;

    @Schema(description = "人数")
    private Byte peopleNum;

    @Schema(description = "租房数量")
    private Byte rentNum;

    @Schema(description = "户型需求")
    private String houseType;

    @Schema(description = "跟进人员id")
    private Long followUpUserId;

    @Schema(description = "跟进备注")
    private String remark;

    @Schema(description = "进度")
    private String progress;

    @Schema(description = "状态")
    private String status;
}
